四维矩阵(Mat4)
表示 4×4 列主序变换矩阵(column-major transformation matrix),适用于 3D 变换并可直接上传至 GPU uniform buffer。
-- 构建 MVP 矩阵
local proj = Mat4.perspective(math.rad(60), 16 / 9, 0.1, 100)
local view = Mat4.fromTranslation(0, 0, -3) -- 摄像机后退 3 单位
local model = Mat4.fromRotationY(angle)
local mvp = proj * view * model
-- 上传至 uniform buffer(64 字节,列主序)
mvp:writeToBuffer(uboBytes, 0)
字段(Fields)
m11
行列索引从 1 开始,mRC 表示第 R 行第 C 列的元素。例如 m.m12 是
第 1 行第 2 列的值。
local m = Mat4.identity()
m.m11 = 2 -- 缩放 x
m.m22 = 3 -- 缩放 y
m.m14 = 50 -- 平移 x